<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1">
    <meta name="referrer" content="never">
    <title>Offset&Event</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        ul {
            list-style: none;
        }

        body {
            border: 30px solid #00f;
        }


        .content {
            /* position: relative; */
            padding: 20px;
            border: 20px solid #f00;
        }

        .box {
            margin: 30px;
        }
    </style>
</head>
<body>
    <a href="abc" onclick="return false">点击阻止跳转</a>
    <div class="content">
        <div class="box"></div>

    </div>
    offset家族：
        offsetWidth/Height - 元素在页面上占据宽高：width/height + padding + border
            <!-- 行内块元素/行内元素 -->
        offsetParent - 返回距离元素最近的有定位的父系元素，如果找不到返回body元素，如果元素是固定定位，返回 null
        offsetTop/Left - 返回元素距离 它的offsetParent 内容区的上左边距，
        <!-- 如果offsetParent是body，那么border的宽度也计算在内 -->

    Event: 事件对象 -> 记录与事件相关的信息  onclick/mouseenter/mouseleave...keydown..
        鼠标：
            - pageX/Y  鼠标相对于页面的上左边距
            - clientX/Y 鼠标相对于可视区域的上左边距
            - offsetX/Y 鼠标相对于触发事件的元素的上左边距
            - screenX/Y 相对于屏幕的上左边距
        元素：
            - 触发事件的元素：event.target
            - 绑定事件的元素：event.currentTarget -> 事件中的 this
        键盘：
            - event.key
        阻止冒泡：
            - event.stopPropagation()  event.cancelBubble = true
        阻止默认：
            - event.preventDefault()   event.returnValue = false  return false

    
    <script type="text/javascript">
        var box = document.querySelector(".box");

        console.log("box.offset", { top: box.offsetTop, left: box.offsetLeft });

        document.onkeydown = function (){
            console.log(event.key);
        }
    </script>
</body>
</html>